iT邦幫忙

2022 iThome 鐵人賽

DAY 12
0
Software Development

超簡單的 Verilog 入門講解系列 第 12

[Day 12] Verilog E-1 難度丁 P1王點斬殺1 - 時序組合

  • 分享至 

  • xImage
  •  

時序組合的電路大概長這樣

https://ithelp.ithome.com.tw/upload/images/20220925/20135862tSZ0exUrQn.png

第 1 步

簡單想想

  1. EN是開關
  2. Clk時序 就是 clock
  3. Out1 輸出資料 由 reg輸出

https://ithelp.ithome.com.tw/upload/images/20220925/20135862tlCe4ZBRkz.png

我們先從程式 寫來看看


module Clk_Add1(reset1,clk,Out1);
input reset1 ,clk;
output[7:0] Out1;

reg[7:0] Out1;




endmodule 


接下來我們看到 有一個 Data 的線路 而 Data 接到+1
所以 用 assign 來接
assign Date = Out1+1;



module Clk_Add1(reset1,clk,Out1);
input reset1 ,clk;
output[7:0] Out1;
reg[7:0] Out1;

// 有一個 Data 的線路 而 Data 接到+1
wire[7:0] Date;
assign Date = Out1+1;


endmodule 



https://ithelp.ithome.com.tw/upload/images/20220925/20135862eEaneD4dwB.png


第 2 步

接下來我們有寫 EN是開關
就是初始化,簡單來說 reset 來決定開關

所以就是 reset 觸發 那就出現 always (詳情請看 Day11)


module Clk_Add1(reset1,clk,Out1);
input reset1 ,clk;
output[7:0] Out1;
reg[7:0] Out1;

wire[7:0] Date;
assign Date = Out1+1;

// 所以就是 reset 觸發 那就出現 always (詳情請看 Day11)
always@(negedge reset1)
begin

if( ~reset1) begin

end
else begin

end


end

endmodule 


第 3 步

那寫出 reset 而且有 設定 reg 馬上就要初始化 (詳情請看 Day11)



module Clk_Add1(reset1,clk,Out1);
input reset1 ,clk;
output[7:0] Out1;
reg[7:0] Out1;

wire[7:0] Date;
assign Date = Out1+1;

always@(negedge reset1)
begin

if( ~reset1) begin
    //  設定 reg 馬上就要初始化
    Out1<=0;
end
else begin
    
end


end

endmodule 


第 4 步

最後加上 clk 觸發 執行 Date 設定在 輸出



module Clk_Add1(reset1,clk,Out1);
input reset1 ,clk;
output[7:0] Out1;
reg[7:0] Out1;

wire[7:0] Date;
assign Date = Out1+1;

// 加上 clk觸發 
always@(negedge reset1 or posedge clk)
begin

if( ~reset1) begin
    Out1<=0;
end
else begin

    // 最後將 Date 設定在 輸出 上 
    Out1<=Date;
    
end


end

endmodule 


OK 這樣應該沒問題吧

ヒトゴーマルマル。まぁねえ。いろいろあったね。でもさ、なんかそれも仕方なかったのかなーってさ。今は思うんだ…。

https://ithelp.ithome.com.tw/upload/images/20220925/20135862gy7tgNkyeU.jpg


上一篇
[Day 11] Verilog E-1 難度丁 P1王點的消血2.5 - always@(事件1 or ....) 3. RESET (非阻隔指定)
下一篇
[Day 13] Verilog E-1 難度丁 P1王點斬殺2 - tb1 時序組合 (clk 的 tb)
系列文
超簡單的 Verilog 入門講解30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言